package com.guge.sports.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 
 * </p>
 *
 * @author testjava
 * @since 2022-09-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="StCourse对象", description="")
public class StCourse extends Model<StCourse> implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "cid", type = IdType.AUTO)
    private Long cid;

    @ApiModelProperty(value = "学院id")
    private Long deptId;

    @ApiModelProperty(value = "任教老师")
    private Long teacherId;

    @ApiModelProperty(value = "课程名称")
    private String courseName;

    @ApiModelProperty(value = "课程表id")
    private Long courseTableId;

    @ApiModelProperty(value = "课程名额")
    private Integer courseNumber;

    @ApiModelProperty(value = "选课人数")
    private Integer selectedNumber;

    @ApiModelProperty(value = "选课开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date selectStartTime;

    @ApiModelProperty(value = "选课结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date selectEndTime;

    @ApiModelProperty(value = "课程开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date courseStartTime;

    @ApiModelProperty(value = "课程结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date courseEndTime;

    @ApiModelProperty(value = "学期 1 上学期 2 下学期")
    private Integer term;

    @ApiModelProperty(value = "课程图片")
    private String courseImage;

    @ApiModelProperty(value = "课程简介")
    private String courseIntroduction;

    @ApiModelProperty(value = "课程状态 0.上架 1.下架")
    private Integer state;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "课程管理员 保留字段")
    private String courseAdmin;

    @ApiModelProperty(value = "上课地点 保留字段")
    private String courseArea;

    @ApiModelProperty(value = "乐观锁")
    private Integer version;

    @ApiModelProperty(value = "逻辑删除 0.正常 1.删除")
    private Integer isdelete;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date updateTime;


}
